// service统一出口
import HYRequest from './request'
import { BASE_URL, TIME_OUT } from './request/config'

// 每个实例都可以传入自己的拦截器，也可以使用默认的拦截器
const hyRequest = new HYRequest({
  baseURL: BASE_URL,
  timeout: TIME_OUT,
  // 上面两个是AxiosRequestConfig自带的类型，但是想要传入自定义的类型，就需要使用接口继承AxiosRequestConfig
  interceptors: {
    requestInterceptor: (config) => {
      // 携带token的拦截
      const token = ''
      if (token) {
        config.headers.Authorization = `Bearer ${token}`
      }

      return config
    },
    requestInterceptorCatch: (err) => {
      return err
    },
    responseInterceptor: (res) => {
      return res
    },
    responseInterceptorCatch: (err) => {
      return err
    }
  } // 这里的interceptors是接口类型，所以要实现里面的函数
})

export default hyRequest
